home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Environments / Clean 1.2.4 / StdEnv / Clean System Files / StdChar.abc < prev    next >
Encoding:
Text File  |  1997-06-17  |  15.2 KB  |  1,211 lines  |  [TEXT/3PRM]

  1. .comp 914 010111011
  2. .code       0       0       0
  3. .start _nostart_
  4. .depend "StdClass"
  5. .depend "StdInt"
  6. .depend "StdBool"
  7. .depend "StdOverloaded"
  8. .depend "StdChar"
  9. .endinfo
  10. .implab _cycle_in_spine
  11. .implab _type_error
  12. .implab _hnf
  13. .impdesc _ind
  14. .implab _indirection _eaind
  15. .impdesc e_system_dif
  16. .implab e_system_nif e_system_eaif
  17. .impdesc e_system_dAP
  18. .implab e_system_nAP e_system_eaAP
  19. .implab e_system_sif
  20. .implab e_system_sAP
  21. .impdesc _Cons
  22. .impdesc _Nil
  23. .impdesc _Tuple
  24. .impdesc d_S.1
  25. .implab n_S.1 ea_S.1
  26. .impdesc d_S.2
  27. .implab n_S.2 ea_S.2
  28. .impdesc d_S.3
  29. .implab n_S.3 ea_S.3
  30. .impdesc d_S.4
  31. .implab n_S.4 ea_S.4
  32. .impdesc d_S.5
  33. .implab n_S.5 ea_S.5
  34. .impdesc d_S.6
  35. .implab n_S.6 ea_S.6
  36. .implab _driver
  37. .string m_StdChar "StdChar"
  38. .implab e_StdInt_s+;i
  39. .implab e_StdInt_s-;i
  40. .implab e_StdInt_s<;i
  41. .implab e_StdInt_stoChar;i
  42. .implab e_StdBool_snot
  43. .export e_StdChar_d+;c
  44. .export e_StdChar_s+;c
  45. .export e_StdChar_n+;c
  46. .desc e_StdChar_d+;c e_StdChar_n+;c e_StdChar_l+;c 2 "+ (Char)"
  47. .o 2 0
  48. e_StdChar_l+;c
  49.     repl_args 1 1
  50. .d 2 0
  51.     jsr ea1
  52. .o 0 1 c
  53.     buildC_b 0
  54.     pop_b 1
  55. .d 1 0
  56.     rtn
  57. .n 2 e_StdChar_d+;c
  58. .o 1 0
  59. e_StdChar_n+;c
  60.     push_node _cycle_in_spine 2
  61. .d 2 0
  62.     jsr ea1
  63. .o 0 1 c
  64.     fillC_b 0 0
  65.     pop_b 1
  66. .d 1 0
  67.     rtn
  68. .o 2 0
  69. ea1
  70.     jsr_eval 1
  71.     jsr_eval 0
  72.     pushC_a 1
  73.     pushC_a 0
  74.     pop_a 2
  75. .o 0 2 cc
  76. e_StdChar_s+;c
  77. .o 0 2 cc
  78. s1
  79. .inline +;c
  80.     addI
  81.     ItoC
  82. .end
  83. .d 0 1 c
  84.     rtn
  85. .export e_StdChar_d-;c
  86. .export e_StdChar_s-;c
  87. .export e_StdChar_n-;c
  88. .desc e_StdChar_d-;c e_StdChar_n-;c e_StdChar_l-;c 2 "- (Char)"
  89. .o 2 0
  90. e_StdChar_l-;c
  91.     repl_args 1 1
  92. .d 2 0
  93.     jsr ea2
  94. .o 0 1 c
  95.     buildC_b 0
  96.     pop_b 1
  97. .d 1 0
  98.     rtn
  99. .n 2 e_StdChar_d-;c
  100. .o 1 0
  101. e_StdChar_n-;c
  102.     push_node _cycle_in_spine 2
  103. .d 2 0
  104.     jsr ea2
  105. .o 0 1 c
  106.     fillC_b 0 0
  107.     pop_b 1
  108. .d 1 0
  109.     rtn
  110. .o 2 0
  111. ea2
  112.     jsr_eval 1
  113.     jsr_eval 0
  114.     pushC_a 1
  115.     pushC_a 0
  116.     pop_a 2
  117. .o 0 2 cc
  118. e_StdChar_s-;c
  119. .o 0 2 cc
  120. s2
  121. .inline -;c
  122.     subI
  123.     ItoC
  124. .end
  125. .d 0 1 c
  126.     rtn
  127. .export e_StdChar_dzero;c
  128. .export e_StdChar_szero;c
  129. .export e_StdChar_nzero;c
  130. .desc e_StdChar_dzero;c e_StdChar_nzero;c e_StdChar_lzero;c 0 "zero (Char)"
  131. .o 1 0
  132. e_StdChar_lzero;c
  133.     halt
  134. .n 0 e_StdChar_dzero;c
  135. .o 1 0
  136. e_StdChar_nzero;c
  137.     push_node _cycle_in_spine 0
  138. .d 0 0
  139.     jsr ea3
  140. .o 0 1 c
  141.     fillC_b 0 0
  142.     pop_b 1
  143. .d 1 0
  144.     rtn
  145. .o 0 0
  146. ea3
  147. .o 0 0
  148. e_StdChar_szero;c
  149. .o 0 0
  150. s3
  151. .inline zero;c
  152.     pushI 0
  153.     ItoC
  154. .end
  155. .d 0 1 c
  156.     rtn
  157. .export e_StdChar_done;c
  158. .export e_StdChar_sone;c
  159. .export e_StdChar_none;c
  160. .desc e_StdChar_done;c e_StdChar_none;c e_StdChar_lone;c 0 "one (Char)"
  161. .o 1 0
  162. e_StdChar_lone;c
  163.     halt
  164. .n 0 e_StdChar_done;c
  165. .o 1 0
  166. e_StdChar_none;c
  167.     push_node _cycle_in_spine 0
  168. .d 0 0
  169.     jsr ea4
  170. .o 0 1 c
  171.     fillC_b 0 0
  172.     pop_b 1
  173. .d 1 0
  174.     rtn
  175. .o 0 0
  176. ea4
  177. .o 0 0
  178. e_StdChar_sone;c
  179. .o 0 0
  180. s4
  181. .inline one;c
  182.     pushI 1
  183.     ItoC
  184. .end
  185. .d 0 1 c
  186.     rtn
  187. .export e_StdChar_d==;c
  188. .export e_StdChar_s==;c
  189. .export e_StdChar_n==;c
  190. .desc e_StdChar_d==;c e_StdChar_n==;c e_StdChar_l==;c 2 "== (Char)"
  191. .o 2 0
  192. e_StdChar_l==;c
  193.     repl_args 1 1
  194. .d 2 0
  195.     jsr ea5
  196. .o 0 1 b
  197.     buildB_b 0
  198.     pop_b 1
  199. .d 1 0
  200.     rtn
  201. .n 2 e_StdChar_d==;c
  202. .o 1 0
  203. e_StdChar_n==;c
  204.     push_node _cycle_in_spine 2
  205. .d 2 0
  206.     jsr ea5
  207. .o 0 1 b
  208.     fillB_b 0 0
  209.     pop_b 1
  210. .d 1 0
  211.     rtn
  212. .o 2 0
  213. ea5
  214.     jsr_eval 1
  215.     jsr_eval 0
  216.     pushC_a 1
  217.     pushC_a 0
  218.     pop_a 2
  219. .o 0 2 cc
  220. e_StdChar_s==;c
  221. .o 0 2 cc
  222. s5
  223. .inline ==;c
  224.     eqC
  225. .end
  226. .d 0 1 b
  227.     rtn
  228. .export e_StdChar_d<;c
  229. .export e_StdChar_s<;c
  230. .export e_StdChar_n<;c
  231. .desc e_StdChar_d<;c e_StdChar_n<;c e_StdChar_l<;c 2 "< (Char)"
  232. .o 2 0
  233. e_StdChar_l<;c
  234.     repl_args 1 1
  235. .d 2 0
  236.     jsr ea6
  237. .o 0 1 b
  238.     buildB_b 0
  239.     pop_b 1
  240. .d 1 0
  241.     rtn
  242. .n 2 e_StdChar_d<;c
  243. .o 1 0
  244. e_StdChar_n<;c
  245.     push_node _cycle_in_spine 2
  246. .d 2 0
  247.     jsr ea6
  248. .o 0 1 b
  249.     fillB_b 0 0
  250.     pop_b 1
  251. .d 1 0
  252.     rtn
  253. .o 2 0
  254. ea6
  255.     jsr_eval 1
  256.     jsr_eval 0
  257.     pushC_a 1
  258.     pushC_a 0
  259.     pop_a 2
  260. .o 0 2 cc
  261. e_StdChar_s<;c
  262. .o 0 2 cc
  263. s6
  264. .inline <;c
  265.     ltC
  266. .end
  267. .d 0 1 b
  268.     rtn
  269. .export e_StdChar_dtoInt;c
  270. .export e_StdChar_stoInt;c
  271. .export e_StdChar_ntoInt;c
  272. .desc e_StdChar_dtoInt;c e_StdChar_ntoInt;c e_StdChar_ltoInt;c 1 "toInt (Char)"
  273. .o 2 0
  274. e_StdChar_ltoInt;c
  275.     pop_a 1
  276. .d 1 0
  277.     jsr ea7
  278. .o 0 1 i
  279.     buildI_b 0
  280.     pop_b 1
  281. .d 1 0
  282.     rtn
  283. .n 1 e_StdChar_dtoInt;c
  284. .o 1 0
  285. e_StdChar_ntoInt;c
  286.     push_node _cycle_in_spine 1
  287. .d 1 0
  288.     jsr ea7
  289. .o 0 1 i
  290.     fillI_b 0 0
  291.     pop_b 1
  292. .d 1 0
  293.     rtn
  294. .o 1 0
  295. ea7
  296.     jsr_eval 0
  297.     pushC_a 0
  298.     pop_a 1
  299. .o 0 1 c
  300. e_StdChar_stoInt;c
  301. .o 0 1 c
  302. s7
  303. .inline toInt;c
  304.     CtoI
  305. .end
  306. .d 0 1 i
  307.     rtn
  308. .export e_StdChar_dtoString;c
  309. .export e_StdChar_stoString;c
  310. .export e_StdChar_ntoString;c
  311. .desc e_StdChar_dtoString;c e_StdChar_ntoString;c e_StdChar_ltoString;c 1 "toString (Char)"
  312. .o 2 0
  313. e_StdChar_ltoString;c
  314.     pop_a 1
  315. .d 1 0
  316.     jsr ea8
  317. .o 1 0
  318.     create
  319.     push_a 1
  320.     fill ARRAY 1 _hnf 1
  321.     update_a 0 1
  322.     pop_a 1
  323. .d 1 0
  324.     rtn
  325. .n 1 e_StdChar_dtoString;c
  326. .o 1 0
  327. e_StdChar_ntoString;c
  328.     push_node _cycle_in_spine 1
  329. .d 1 0
  330.     jsr ea8
  331. .o 1 0
  332.     push_a 0
  333.     fill ARRAY 1 _hnf 2
  334.     pop_a 1
  335. .d 1 0
  336.     rtn
  337. .o 1 0
  338. ea8
  339.     jsr_eval 0
  340.     pushC_a 0
  341.     pop_a 1
  342. .o 0 1 c
  343. e_StdChar_stoString;c
  344. .o 0 1 c
  345. s8
  346. .inline toString;c
  347.     CtoAC
  348. .end
  349. .d 1 0
  350.     rtn
  351. .export e_StdChar_dtoChar;c
  352. .export e_StdChar_stoChar;c
  353. .export e_StdChar_ntoChar;c
  354. .desc e_StdChar_dtoChar;c e_StdChar_ntoChar;c e_StdChar_ltoChar;c 1 "toChar (Char)"
  355. .o 2 0
  356. e_StdChar_ltoChar;c
  357.     pop_a 1
  358. .d 1 0
  359.     jsr ea9
  360. .o 0 1 c
  361.     buildC_b 0
  362.     pop_b 1
  363. .d 1 0
  364.     rtn
  365. .n 1 e_StdChar_dtoChar;c
  366. .o 1 0
  367. e_StdChar_ntoChar;c
  368.     push_node _cycle_in_spine 1
  369. .d 1 0
  370.     jsr ea9
  371. .o 0 1 c
  372.     fillC_b 0 0
  373.     pop_b 1
  374. .d 1 0
  375.     rtn
  376. .o 1 0
  377. ea9
  378.     jsr_eval 0
  379.     pushC_a 0
  380.     pop_a 1
  381. .o 0 1 c
  382. e_StdChar_stoChar;c
  383. .o 0 1 c
  384. s9
  385. .inline toChar;c
  386.     no_op
  387. .end
  388. .d 0 1 c
  389.     rtn
  390. .export e_StdChar_dfromChar;i
  391. .export e_StdChar_sfromChar;i
  392. .export e_StdChar_nfromChar;i
  393. .desc e_StdChar_dfromChar;i e_StdChar_nfromChar;i e_StdChar_lfromChar;i 1 "fromChar (Int)"
  394. .o 2 0
  395. e_StdChar_lfromChar;i
  396.     pop_a 1
  397. .d 1 0
  398.     jsr ea10
  399. .o 0 1 i
  400.     buildI_b 0
  401.     pop_b 1
  402. .d 1 0
  403.     rtn
  404. .n 1 e_StdChar_dfromChar;i
  405. .o 1 0
  406. e_StdChar_nfromChar;i
  407.     push_node _cycle_in_spine 1
  408. .d 1 0
  409.     jsr ea10
  410. .o 0 1 i
  411.     fillI_b 0 0
  412.     pop_b 1
  413. .d 1 0
  414.     rtn
  415. .o 1 0
  416. ea10
  417.     jsr_eval 0
  418.     pushC_a 0
  419.     pop_a 1
  420. .o 0 1 c
  421. e_StdChar_sfromChar;i
  422. .o 0 1 c
  423. s10
  424. .inline fromChar;i
  425.     CtoI
  426. .end
  427. .d 0 1 i
  428.     rtn
  429. .export e_StdChar_dfromChar;#
  430. .export e_StdChar_sfromChar;#
  431. .export e_StdChar_nfromChar;#
  432. .desc e_StdChar_dfromChar;# e_StdChar_nfromChar;# e_StdChar_lfromChar;# 1 "fromChar ({#})"
  433. .o 2 0
  434. e_StdChar_lfromChar;#
  435.     pop_a 1
  436. .d 1 0
  437.     jsr ea11
  438. .o 1 0
  439.     create
  440.     push_a 1
  441.     fill ARRAY 1 _hnf 1
  442.     update_a 0 1
  443.     pop_a 1
  444. .d 1 0
  445.     rtn
  446. .n 1 e_StdChar_dfromChar;#
  447. .o 1 0
  448. e_StdChar_nfromChar;#
  449.     push_node _cycle_in_spine 1
  450. .d 1 0
  451.     jsr ea11
  452. .o 1 0
  453.     push_a 0
  454.     fill ARRAY 1 _hnf 2
  455.     pop_a 1
  456. .d 1 0
  457.     rtn
  458. .o 1 0
  459. ea11
  460.     jsr_eval 0
  461.     pushC_a 0
  462.     pop_a 1
  463. .o 0 1 c
  464. e_StdChar_sfromChar;#
  465. .o 0 1 c
  466. s11
  467. .inline fromChar;#
  468.     CtoAC
  469. .end
  470. .d 1 0
  471.     rtn
  472. .export e_StdChar_dfromChar;c
  473. .export e_StdChar_sfromChar;c
  474. .export e_StdChar_nfromChar;c
  475. .desc e_StdChar_dfromChar;c e_StdChar_nfromChar;c e_StdChar_lfromChar;c 1 "fromChar (Char)"
  476. .o 2 0
  477. e_StdChar_lfromChar;c
  478.     pop_a 1
  479. .d 1 0
  480.     jsr ea12
  481. .o 0 1 c
  482.     buildC_b 0
  483.     pop_b 1
  484. .d 1 0
  485.     rtn
  486. .n 1 e_StdChar_dfromChar;c
  487. .o 1 0
  488. e_StdChar_nfromChar;c
  489.     push_node _cycle_in_spine 1
  490. .d 1 0
  491.     jsr ea12
  492. .o 0 1 c
  493.     fillC_b 0 0
  494.     pop_b 1
  495. .d 1 0
  496.     rtn
  497. .o 1 0
  498. ea12
  499.     jsr_eval 0
  500.     pushC_a 0
  501.     pop_a 1
  502. .o 0 1 c
  503. e_StdChar_sfromChar;c
  504. .o 0 1 c
  505. s12
  506. .inline fromChar;c
  507.     no_op
  508. .end
  509. .inline isAlphanum
  510. .end
  511. .inline isDigit
  512. .end
  513. .inline isAlpha
  514. .end
  515. .inline isLower
  516. .end
  517. .inline isUpper
  518. .end
  519. .inline isSpace
  520. .end
  521. .inline isPrint
  522. .end
  523. .inline isControl
  524. .end
  525. .inline isAscii
  526. .end
  527. .inline toUpper
  528. .end
  529. .inline toLower
  530. .end
  531. .inline digtoInt
  532. .end
  533. .d 0 1 c
  534.     rtn
  535. .export e_StdChar_dtoUpper
  536. .export e_StdChar_stoUpper
  537. .export e_StdChar_ntoUpper
  538. .desc e_StdChar_dtoUpper e_StdChar_ntoUpper e_StdChar_ltoUpper 1 "toUpper"
  539. .o 2 0
  540. e_StdChar_ltoUpper
  541.     pop_a 1
  542. .d 1 0
  543.     jsr ea13
  544. .o 0 1 c
  545.     buildC_b 0
  546.     pop_b 1
  547. .d 1 0
  548.     rtn
  549. .n 1 e_StdChar_dtoUpper
  550. .o 1 0
  551. e_StdChar_ntoUpper
  552.     push_node _cycle_in_spine 1
  553. .d 1 0
  554.     jsr ea13
  555. .o 0 1 c
  556.     fillC_b 0 0
  557.     pop_b 1
  558. .d 1 0
  559.     rtn
  560. .o 1 0
  561. ea13
  562.     jsr_eval 0
  563.     pushC_a 0
  564.     pop_a 1
  565. .o 0 1 c
  566. e_StdChar_stoUpper
  567. .o 0 1 c
  568. s13
  569.     push_b 0
  570. .d 0 1 c
  571.     jsr s21
  572. .o 0 1 b
  573.     jmp_false else.1
  574.     jmp then.1
  575. then.1
  576.     pushC 'A'
  577.     CtoI
  578.     pushC 'a'
  579.     CtoI
  580.     push_b 2
  581.     CtoI
  582.     subI
  583.     addI
  584.     update_b 0 1
  585.     pop_b 1
  586.     ItoC
  587. .d 0 1 c
  588.     rtn
  589. else.1
  590. .d 0 1 c
  591.     rtn
  592. .export e_StdChar_dtoLower
  593. .export e_StdChar_stoLower
  594. .export e_StdChar_ntoLower
  595. .desc e_StdChar_dtoLower e_StdChar_ntoLower e_StdChar_ltoLower 1 "toLower"
  596. .o 2 0
  597. e_StdChar_ltoLower
  598.     pop_a 1
  599. .d 1 0
  600.     jsr ea14
  601. .o 0 1 c
  602.     buildC_b 0
  603.     pop_b 1
  604. .d 1 0
  605.     rtn
  606. .n 1 e_StdChar_dtoLower
  607. .o 1 0
  608. e_StdChar_ntoLower
  609.     push_node _cycle_in_spine 1
  610. .d 1 0
  611.     jsr ea14
  612. .o 0 1 c
  613.     fillC_b 0 0
  614.     pop_b 1
  615. .d 1 0
  616.     rtn
  617. .o 1 0
  618. ea14
  619.     jsr_eval 0
  620.     pushC_a 0
  621.     pop_a 1
  622. .o 0 1 c
  623. e_StdChar_stoLower
  624. .o 0 1 c
  625. s14
  626.     push_b 0
  627. .d 0 1 c
  628.     jsr s20
  629. .o 0 1 b
  630.     jmp_false else.2
  631.     jmp then.2
  632. then.2
  633.     pushC 'a'
  634.     CtoI
  635.     pushC 'A'
  636.     CtoI
  637.     push_b 2
  638.     CtoI
  639.     subI
  640.     addI
  641.     update_b 0 1
  642.     pop_b 1
  643.     ItoC
  644. .d 0 1 c
  645.     rtn
  646. else.2
  647. .d 0 1 c
  648.     rtn
  649. .export e_StdChar_ddigtoInt
  650. .export e_StdChar_sdigtoInt
  651. .export e_StdChar_ndigtoInt
  652. .desc e_StdChar_ddigtoInt e_StdChar_ndigtoInt e_StdChar_ldigtoInt 1 "digtoInt"
  653. .o 2 0
  654. e_StdChar_ldigtoInt
  655.     pop_a 1
  656. .d 1 0
  657.     jsr ea15
  658. .o 0 1 i
  659.     buildI_b 0
  660.     pop_b 1
  661. .d 1 0
  662.     rtn
  663. .n 1 e_StdChar_ddigtoInt
  664. .o 1 0
  665. e_StdChar_ndigtoInt
  666.     push_node _cycle_in_spine 1
  667. .d 1 0
  668.     jsr ea15
  669. .o 0 1 i
  670.     fillI_b 0 0
  671.     pop_b 1
  672. .d 1 0
  673.     rtn
  674. .o 1 0
  675. ea15
  676.     jsr_eval 0
  677.     pushC_a 0
  678.     pop_a 1
  679. .o 0 1 c
  680. e_StdChar_sdigtoInt
  681. .o 0 1 c
  682. s15
  683.     pushC '0'
  684.     CtoI
  685.     push_b 1
  686.     CtoI
  687.     update_b 1 2
  688.     update_b 0 1
  689.     pop_b 1
  690.     subI
  691. .d 0 1 i
  692.     rtn
  693. .export e_StdChar_disAscii
  694. .export e_StdChar_sisAscii
  695. .export e_StdChar_nisAscii
  696. .desc e_StdChar_disAscii e_StdChar_nisAscii e_StdChar_lisAscii 1 "isAscii"
  697. .o 2 0
  698. e_StdChar_lisAscii
  699.     pop_a 1
  700. .d 1 0
  701.     jsr ea16
  702. .o 0 1 b
  703.     buildB_b 0
  704.     pop_b 1
  705. .d 1 0
  706.     rtn
  707. .n 1 e_StdChar_disAscii
  708. .o 1 0
  709. e_StdChar_nisAscii
  710.     push_node _cycle_in_spine 1
  711. .d 1 0
  712.     jsr ea16
  713. .o 0 1 b
  714.     fillB_b 0 0
  715.     pop_b 1
  716. .d 1 0
  717.     rtn
  718. .o 1 0
  719. ea16
  720.     jsr_eval 0
  721.     pushC_a 0
  722.     pop_a 1
  723. .o 0 1 c
  724. e_StdChar_sisAscii
  725. .o 0 1 c
  726. s16
  727.     push_b 0
  728.     update_b 0 1
  729.     pop_b 1
  730.     CtoI
  731.     pushI 128
  732.     push_b 1
  733.     update_b 1 2
  734.     update_b 0 1
  735.     pop_b 1
  736.     ltI
  737. .d 0 1 b
  738.     rtn
  739. .export e_StdChar_disControl
  740. .export e_StdChar_sisControl
  741. .export e_StdChar_nisControl
  742. .desc e_StdChar_disControl e_StdChar_nisControl e_StdChar_lisControl 1 "isControl"
  743. .o 2 0
  744. e_StdChar_lisControl
  745.     pop_a 1
  746. .d 1 0
  747.     jsr ea17
  748. .o 0 1 b
  749.     buildB_b 0
  750.     pop_b 1
  751. .d 1 0
  752.     rtn
  753. .n 1 e_StdChar_disControl
  754. .o 1 0
  755. e_StdChar_nisControl
  756.     push_node _cycle_in_spine 1
  757. .d 1 0
  758.     jsr ea17
  759. .o 0 1 b
  760.     fillB_b 0 0
  761.     pop_b 1
  762. .d 1 0
  763.     rtn
  764. .o 1 0
  765. ea17
  766.     jsr_eval 0
  767.     pushC_a 0
  768.     pop_a 1
  769. .o 0 1 c
  770. e_StdChar_sisControl
  771. .o 0 1 c
  772. s17
  773.     pushC ' '
  774.     push_b 1
  775.     ltC
  776.     jmp_false else.3
  777.     jmp then.3
  778. then.3
  779.     pop_b 1
  780.     pushB TRUE
  781. .d 0 1 b
  782.     rtn
  783. else.3
  784.     pushC '\177'
  785.     push_b 1
  786.     update_b 1 2
  787.     update_b 0 1
  788.     pop_b 1
  789.     eqC
  790. .d 0 1 b
  791.     rtn
  792. .export e_StdChar_disPrint
  793. .export e_StdChar_sisPrint
  794. .export e_StdChar_nisPrint
  795. .desc e_StdChar_disPrint e_StdChar_nisPrint e_StdChar_lisPrint 1 "isPrint"
  796. .o 2 0
  797. e_StdChar_lisPrint
  798.     pop_a 1
  799. .d 1 0
  800.     jsr ea18
  801. .o 0 1 b
  802.     buildB_b 0
  803.     pop_b 1
  804. .d 1 0
  805.     rtn
  806. .n 1 e_StdChar_disPrint
  807. .o 1 0
  808. e_StdChar_nisPrint
  809.     push_node _cycle_in_spine 1
  810. .d 1 0
  811.     jsr ea18
  812. .o 0 1 b
  813.     fillB_b 0 0
  814.     pop_b 1
  815. .d 1 0
  816.     rtn
  817. .o 1 0
  818. ea18
  819.     jsr_eval 0
  820.     pushC_a 0
  821.     pop_a 1
  822. .o 0 1 c
  823. e_StdChar_sisPrint
  824. .o 0 1 c
  825. s18
  826.     pushC ' '
  827.     push_b 1
  828.     ltC
  829.     notB
  830.     jmp_false else.4
  831.     jmp then.4
  832. then.4
  833.     push_b 0
  834.     pushC '~'
  835.     update_b 1 2
  836.     update_b 0 1
  837.     pop_b 1
  838.     ltC
  839.     notB
  840. .d 0 1 b
  841.     rtn
  842. else.4
  843.     pop_b 1
  844.     pushB FALSE
  845. .d 0 1 b
  846.     rtn
  847. .export e_StdChar_disSpace
  848. .export e_StdChar_sisSpace
  849. .export e_StdChar_nisSpace
  850. .desc e_StdChar_disSpace e_StdChar_nisSpace e_StdChar_lisSpace 1 "isSpace"
  851. .o 2 0
  852. e_StdChar_lisSpace
  853.     pop_a 1
  854. .d 1 0
  855.     jsr ea19
  856. .o 0 1 b
  857.     buildB_b 0
  858.     pop_b 1
  859. .d 1 0
  860.     rtn
  861. .n 1 e_StdChar_disSpace
  862. .o 1 0
  863. e_StdChar_nisSpace
  864.     push_node _cycle_in_spine 1
  865. .d 1 0
  866.     jsr ea19
  867. .o 0 1 b
  868.     fillB_b 0 0
  869.     pop_b 1
  870. .d 1 0
  871.     rtn
  872. .o 1 0
  873. ea19
  874.     jsr_eval 0
  875.     pushC_a 0
  876.     pop_a 1
  877. .o 0 1 c
  878. e_StdChar_sisSpace
  879. .o 0 1 c
  880. s19
  881.     pushC ' '
  882.     push_b 1
  883.     eqC
  884.     jmp_false else.5
  885.     jmp then.5
  886. then.5
  887.     pop_b 1
  888.     pushB TRUE
  889. .d 0 1 b
  890.     rtn
  891. else.5
  892.     pushC '\t'
  893.     push_b 1
  894.     eqC
  895.     jmp_false else.6
  896.     jmp then.6
  897. then.6
  898.     pop_b 1
  899.     pushB TRUE
  900. .d 0 1 b
  901.     rtn
  902. else.6
  903.     pushC '\n'
  904.     push_b 1
  905.     eqC
  906.     jmp_false else.7
  907.     jmp then.7
  908. then.7
  909.     pop_b 1
  910.     pushB TRUE
  911. .d 0 1 b
  912.     rtn
  913. else.7
  914.     pushC '\r'
  915.     push_b 1
  916.     eqC
  917.     jmp_false else.8
  918.     jmp then.8
  919. then.8
  920.     pop_b 1
  921.     pushB TRUE
  922. .d 0 1 b
  923.     rtn
  924. else.8
  925.     pushC '\f'
  926.     push_b 1
  927.     eqC
  928.     jmp_false else.9
  929.     jmp then.9
  930. then.9
  931.     pop_b 1
  932.     pushB TRUE
  933. .d 0 1 b
  934.     rtn
  935. else.9
  936.     pushC '\013'
  937.     push_b 1
  938.     update_b 1 2
  939.     update_b 0 1
  940.     pop_b 1
  941.     eqC
  942. .d 0 1 b
  943.     rtn
  944. .export e_StdChar_disUpper
  945. .export e_StdChar_sisUpper
  946. .export e_StdChar_nisUpper
  947. .desc e_StdChar_disUpper e_StdChar_nisUpper e_StdChar_lisUpper 1 "isUpper"
  948. .o 2 0
  949. e_StdChar_lisUpper
  950.     pop_a 1
  951. .d 1 0
  952.     jsr ea20
  953. .o 0 1 b
  954.     buildB_b 0
  955.     pop_b 1
  956. .d 1 0
  957.     rtn
  958. .n 1 e_StdChar_disUpper
  959. .o 1 0
  960. e_StdChar_nisUpper
  961.     push_node _cycle_in_spine 1
  962. .d 1 0
  963.     jsr ea20
  964. .o 0 1 b
  965.     fillB_b 0 0
  966.     pop_b 1
  967. .d 1 0
  968.     rtn
  969. .o 1 0
  970. ea20
  971.     jsr_eval 0
  972.     pushC_a 0
  973.     pop_a 1
  974. .o 0 1 c
  975. e_StdChar_sisUpper
  976. .o 0 1 c
  977. s20
  978.     pushC 'A'
  979.     push_b 1
  980.     ltC
  981.     notB
  982.     jmp_false else.10
  983.     jmp then.10
  984. then.10
  985.     push_b 0
  986.     pushC 'Z'
  987.     update_b 1 2
  988.     update_b 0 1
  989.     pop_b 1
  990.     ltC
  991.     notB
  992. .d 0 1 b
  993.     rtn
  994. else.10
  995.     pop_b 1
  996.     pushB FALSE
  997. .d 0 1 b
  998.     rtn
  999. .export e_StdChar_disLower
  1000. .export e_StdChar_sisLower
  1001. .export e_StdChar_nisLower
  1002. .desc e_StdChar_disLower e_StdChar_nisLower e_StdChar_lisLower 1 "isLower"
  1003. .o 2 0
  1004. e_StdChar_lisLower
  1005.     pop_a 1
  1006. .d 1 0
  1007.     jsr ea21
  1008. .o 0 1 b
  1009.     buildB_b 0
  1010.     pop_b 1
  1011. .d 1 0
  1012.     rtn
  1013. .n 1 e_StdChar_disLower
  1014. .o 1 0
  1015. e_StdChar_nisLower
  1016.     push_node _cycle_in_spine 1
  1017. .d 1 0
  1018.     jsr ea21
  1019. .o 0 1 b
  1020.     fillB_b 0 0
  1021.     pop_b 1
  1022. .d 1 0
  1023.     rtn
  1024. .o 1 0
  1025. ea21
  1026.     jsr_eval 0
  1027.     pushC_a 0
  1028.     pop_a 1
  1029. .o 0 1 c
  1030. e_StdChar_sisLower
  1031. .o 0 1 c
  1032. s21
  1033.     pushC 'a'
  1034.     push_b 1
  1035.     ltC
  1036.     notB
  1037.     jmp_false else.11
  1038.     jmp then.11
  1039. then.11
  1040.     push_b 0
  1041.     pushC 'z'
  1042.     update_b 1 2
  1043.     update_b 0 1
  1044.     pop_b 1
  1045.     ltC
  1046.     notB
  1047. .d 0 1 b
  1048.     rtn
  1049. else.11
  1050.     pop_b 1
  1051.     pushB FALSE
  1052. .d 0 1 b
  1053.     rtn
  1054. .export e_StdChar_disAlpha
  1055. .export e_StdChar_sisAlpha
  1056. .export e_StdChar_nisAlpha
  1057. .desc e_StdChar_disAlpha e_StdChar_nisAlpha e_StdChar_lisAlpha 1 "isAlpha"
  1058. .o 2 0
  1059. e_StdChar_lisAlpha
  1060.     pop_a 1
  1061. .d 1 0
  1062.     jsr ea22
  1063. .o 0 1 b
  1064.     buildB_b 0
  1065.     pop_b 1
  1066. .d 1 0
  1067.     rtn
  1068. .n 1 e_StdChar_disAlpha
  1069. .o 1 0
  1070. e_StdChar_nisAlpha
  1071.     push_node _cycle_in_spine 1
  1072. .d 1 0
  1073.     jsr ea22
  1074. .o 0 1 b
  1075.     fillB_b 0 0
  1076.     pop_b 1
  1077. .d 1 0
  1078.     rtn
  1079. .o 1 0
  1080. ea22
  1081.     jsr_eval 0
  1082.     pushC_a 0
  1083.     pop_a 1
  1084. .o 0 1 c
  1085. e_StdChar_sisAlpha
  1086. .o 0 1 c
  1087. s22
  1088.     push_b 0
  1089. .d 0 1 c
  1090.     jsr s20
  1091. .o 0 1 b
  1092.     jmp_false else.12
  1093.     jmp then.12
  1094. then.12
  1095.     pop_b 1
  1096.     pushB TRUE
  1097. .d 0 1 b
  1098.     rtn
  1099. else.12
  1100.     push_b 0
  1101.     update_b 0 1
  1102.     pop_b 1
  1103. .d 0 1 c
  1104.     jmp s21
  1105. .export e_StdChar_disDigit
  1106. .export e_StdChar_sisDigit
  1107. .export e_StdChar_nisDigit
  1108. .desc e_StdChar_disDigit e_StdChar_nisDigit e_StdChar_lisDigit 1 "isDigit"
  1109. .o 2 0
  1110. e_StdChar_lisDigit
  1111.     pop_a 1
  1112. .d 1 0
  1113.     jsr ea23
  1114. .o 0 1 b
  1115.     buildB_b 0
  1116.     pop_b 1
  1117. .d 1 0
  1118.     rtn
  1119. .n 1 e_StdChar_disDigit
  1120. .o 1 0
  1121. e_StdChar_nisDigit
  1122.     push_node _cycle_in_spine 1
  1123. .d 1 0
  1124.     jsr ea23
  1125. .o 0 1 b
  1126.     fillB_b 0 0
  1127.     pop_b 1
  1128. .d 1 0
  1129.     rtn
  1130. .o 1 0
  1131. ea23
  1132.     jsr_eval 0
  1133.     pushC_a 0
  1134.     pop_a 1
  1135. .o 0 1 c
  1136. e_StdChar_sisDigit
  1137. .o 0 1 c
  1138. s23
  1139.     pushC '0'
  1140.     push_b 1
  1141.     ltC
  1142.     notB
  1143.     jmp_false else.13
  1144.     jmp then.13
  1145. then.13
  1146.     push_b 0
  1147.     pushC '9'
  1148.     update_b 1 2
  1149.     update_b 0 1
  1150.     pop_b 1
  1151.     ltC
  1152.     notB
  1153. .d 0 1 b
  1154.     rtn
  1155. else.13
  1156.     pop_b 1
  1157.     pushB FALSE
  1158. .d 0 1 b
  1159.     rtn
  1160. .export e_StdChar_disAlphanum
  1161. .export e_StdChar_sisAlphanum
  1162. .export e_StdChar_nisAlphanum
  1163. .desc e_StdChar_disAlphanum e_StdChar_nisAlphanum e_StdChar_lisAlphanum 1 "isAlphanum"
  1164. .o 2 0
  1165. e_StdChar_lisAlphanum
  1166.     pop_a 1
  1167. .d 1 0
  1168.     jsr ea24
  1169. .o 0 1 b
  1170.     buildB_b 0
  1171.     pop_b 1
  1172. .d 1 0
  1173.     rtn
  1174. .n 1 e_StdChar_disAlphanum
  1175. .o 1 0
  1176. e_StdChar_nisAlphanum
  1177.     push_node _cycle_in_spine 1
  1178. .d 1 0
  1179.     jsr ea24
  1180. .o 0 1 b
  1181.     fillB_b 0 0
  1182.     pop_b 1
  1183. .d 1 0
  1184.     rtn
  1185. .o 1 0
  1186. ea24
  1187.     jsr_eval 0
  1188.     pushC_a 0
  1189.     pop_a 1
  1190. .o 0 1 c
  1191. e_StdChar_sisAlphanum
  1192. .o 0 1 c
  1193. s24
  1194.     push_b 0
  1195. .d 0 1 c
  1196.     jsr s22
  1197. .o 0 1 b
  1198.     jmp_false else.14
  1199.     jmp then.14
  1200. then.14
  1201.     pop_b 1
  1202.     pushB TRUE
  1203. .d 0 1 b
  1204.     rtn
  1205. else.14
  1206.     push_b 0
  1207.     update_b 0 1
  1208.     pop_b 1
  1209. .d 0 1 c
  1210.     jmp s23
  1211.